Skip to content

chore(release): v0.40.0 — sound --memory shared via reloc-driven rebasing#342

Merged
avrabe merged 1 commit into
mainfrom
chore/release-v0.40.0
Jul 11, 2026
Merged

chore(release): v0.40.0 — sound --memory shared via reloc-driven rebasing#342
avrabe merged 1 commit into
mainfrom
chore/release-v0.40.0

Conversation

@avrabe

@avrabe avrabe commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

Cut v0.40.0 (0.39.0 → 0.40.0). Scope: #326 reloc-consumer (merged #340) — the address-rebasing keystone that makes single-address-space MCU fusion sound.

Gate

  • rivet release status v0.40.0Cuttable (SR-48 verified)
  • rivet validatePASS
  • CHANGELOG [0.40.0] with falsification + known-limitations

What ships

fuse --memory shared now consumes linking+reloc.* (from -C link-arg=--emit-relocs) to rebase each module's absolute addresses into its shared-memory window — no more silent corruption. Non-relocatable direct-memory-access inputs hard-error (path-F). Contract = relocatable, not PIC (ADR-6).

Falsification

test_326_reloc_const_rebasing_end_to_end (runtime: address literal → base+addr via wasmtime), test_326_shared_rebase_without_relocs_hard_errors (path-F), test_address_rebasing_end_to_end (bulk path preserved). 457 lib + 4 integration green.

Known limitations

Refs #326, #339, ADR-6, SR-48, LS-M-11.

🤖 Generated with Claude Code

…sing

Cut v0.40.0 (0.39.0 → 0.40.0). Scope: #326 reloc-consumer (merged #340) — the
address-rebasing keystone that makes single-address-space MCU fusion sound.

SR-48 proposed → verified: runtime oracle test_326_reloc_const_rebasing_end_to_end
(address rebased to base+addr via wasmtime), path-F control
test_326_shared_rebase_without_relocs_hard_errors, reloc.rs parser/Finding-B
tests; 457 lib + 4 integration green; Mythos discover pass done. Known
limitation #339 (Mythos Finding A, no-reloc value-as-pointer) documented.

`rivet release status v0.40.0` → Cuttable (SR-48 verified). `rivet validate`
PASS. CHANGELOG [0.40.0] with falsification + known-limitations.

Refs #326, #339, ADR-6, SR-48, LS-M-11.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

LS-N verification gate

59/59 approved LS entries verified

count
Passed (≥1 test, all green) 59
Failed (≥1 test failure) 0
Missing (no ls_*_NN_* test found) 0

Approved loss-scenarios.yaml entries are expected to have a
regression test named ls_<letter>_<num>_* (e.g. LS-A-11
ls_a_11_*). The gate runs each prefix via cargo test --lib --no-fail-fast and aggregates pass/fail/missing.

Failed LS entries

(none)

Missing regression tests

(none)

Updated automatically by tools/post_verification_comment.py.
Source of truth: safety/stpa/loss-scenarios.yaml.

@avrabe avrabe merged commit ccf6672 into main Jul 11, 2026
17 checks passed
@avrabe avrabe deleted the chore/release-v0.40.0 branch July 11, 2026 16:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant